using UnityEngine;

namespace IQIGame.Onigao.GamePlay
{
    /// <summary>
    /// 各大型玩法系统的公共常量
    /// </summary>
    public static class GameGlobalConst
    {
        /// <summary>
        /// 逻辑层，编辑器，配置等填写的坐标和Unity的转换关系（代表是Unity的多少倍，例如如果值为100，则单位值是Unity的100倍，长度单位是比Unity小两级（厘米））
        /// </summary>
        public const int LogicPosScale = 100;
        /// <summary>
        /// 表现层实体逻辑判定间隔
        /// 注：不是逻辑层的意思
        /// </summary>
        public const float EntityLogicInterval = 0.2f;
        /// <summary>
        /// 足够远的距离
        /// </summary>
        public readonly static Vector3 FarEnoughPosition = Vector3.one * -100000;
        /// <summary>
        /// 场景上的掉落物展示，下探地面的距离，超过此距离则认为下方没有地面。
        /// </summary>
        public const int SceneDropDetectGroundDistance = 3;
        /// <summary>
        /// 场景上的掉落物随机分布圆半径
        /// </summary>
        public const float SceneDropRandomRadius = 0.8f;
        /// <summary>
        /// 场景上的掉落物抛出去的缓动持续时间
        /// </summary>
        public const float SceneDropThrowSpeed = 0.8f;
        /// <summary>
        /// 场景上的掉落物光柱展示持续时间(毫秒)
        /// </summary>
        public const int SceneDropBeamDuration = 1000;
        /// <summary>
        /// 场景上的掉落物飞到角色身上的速度
        /// </summary>
        public const float SceneDropFlyToHeroSpeed = 0.5f;
        /// <summary>
        /// 小地图实体搜索半径
        /// </summary>
        public const float SmallMapEntitySearchRadius = 10;
    }
}
